In recent years, mechatronics technologies have been developed conspicuously. For example, sophisticated servo control techniques have been applied to industrial machinery or information equipment so as to realize fast and precise mechanism control, that is, motion control. Particularly digital servo control based on arithmetic processing with processors has a great part to play therein. The digital servo control can achieve a fine control to change control parameters in accordance with the status of a controlled object or the operation pattern of a control system by way of example. Thus, the digital servo control can easily enhance the control performance as compared with analog servo control with a control circuit constituted by an operational amplifier and so on.
A digital servo control unit is typically configured as follows. First, a state value such as position, velocity, etc. of a mechanism as a controlled object is detected by a sensor. In this event, when the sensor is a sensor outputting a digital signal, such as an encoder, the output signal is used as it is. When the sensor outputs an analog signal, the analog signal is converted into a digital signal by an A/D converter or the like, and the digital signal is used. This digital state value signal is imported into a processor for every constant sampling period, and arithmetically processed by a servo control program so as to generate a control input signal. The control input signal is input to an actuator so as to control the controlled object.
The servo control program chiefly performs an arithmetic process for feedback control. For example, when the control system is aimed at positioning control, a position detection signal from a position sensor is subtracted from a target position signal like a step function, so as to calculate a position error signal. The positioning control is intended to make the controlled object stand still in a target position with no error. It is therefore necessary to bring the position error signal into zero when the controlled object stands still. To this end, compensation to integrate the position error signal as in PID control is used in a servo compensator.
The control input signal generated by such a servo control program is converted into an analog signal by a D/A converter. This analog signal is input as a current command signal to a current control circuit for supplying a driving current to the actuator. In this event, due to the zero-order hold operation of the D/A converter, the current command signal has a stepwise waveform whose value is updated for every sampling period.
In the current control circuit, the driving current is detected by a shunt resistor or a “Hall” device. A current detection signal obtained thus is subtracted from the current command signal by an operational amplifier circuit so as to output a current error signal. A power transistor is resistor-controlled or PWM-controlled by the current error signal so as to control the driving current. Thus, driving torque is electromagnetically generated in the actuator so that the mechanism as the controlled object is operated.
The current command signal has a stepwise waveform for every sampling period, while the change of the driving current is usually smooth. Therefore, the current detection signal also has a smooth waveform. As a result, spike-like pulsation synchronizing with the sampling period is superimposed on the current error signal obtained by subtracting the current detection signal from the current command signal. When the pulsation has a high peak value, a power supply voltage to the power transistor may be saturated or the pulse width modulation of the PMW control may be abnormal. Thus, the driving current cannot be controlled to follow the current command signal accurately. If the power supply voltage to the power transistor is increased, this pulsation can be allowed. However, increase of the power supply voltage leads to increase in cost.
As one of methods for lowering the peak value of the pulsation, the sampling period may be shortened. When the period with which the zero-order hold operation of the D/A converter updates the output signal is shortened, the difference between the steps of the current command signal becomes so small that the pulsation of the current error signal is reduced.
According to another method for suppressing the pulsation, the current command signal may be generated by a first-order hold operation. To this end, there is a technique in which a linear interpolation means constituted by a means for predictively calculating a current command value at the next sampling time, and a linear function generating means for linearly connecting the predicted current command value and a current command value at the present sampling time is provided to linearly interpolate the current command signal between the sampling times so as to suppress occurrence of torque ripples in an AC servo motor (JP-A-2001-268968).
However, it is difficult to shorten the sampling period due to the arithmetically processing time of the servo control program. It is therefore necessary to provide a means for performing multi-rate control to interpolate the control input signal at a temporal interval smaller than the sampling period. In addition, even if the sampling period is shortened or the control input signal is interpolated, it will be difficult to suppress the pulsation perfectly when the current command signal changes stepwise.
Further, in the technique disclosed in JP-A-2001-268968, it is necessary to predictively calculate the current command value at the next sampling time or to provide a means for generating a linear function between the present sampling time and the next sampling time. Thus, there is a fear that the control program may be complicated or the cost of the control unit may increase.